package demo.icanci.pattern.factory.abstractf;

import demo.icanci.pattern.factory.entity.Keyboard;
import demo.icanci.pattern.factory.entity.Mouse;

/**
 * 生产电脑工厂
 * 优点：
 * - 新增加一个产品组，只需要增加一个新的具体工厂，不需要修改代码
 * - 满足开闭原则
 * 缺点：
 * - 添加新产品的时候，依旧需要修改代码，没有完全满足开闭原则
 * @author icanci
 * @date Created in 2021/02/04 23:15
 * @version 1.0
 */
public interface ComputerFactory {
    /**
     * 生产鼠标
     * @return
     */
    Mouse createMouse();

    /**
     * 生产键盘
     * @return
     */
    Keyboard createKeyboard();
}
